import java.util.*;

public class su_num {
    static int maxPairs = 0; // 记录最大匹配对数
    static List<List<Integer>> bestPairs = new ArrayList<>(); // 记录最佳搭配

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 读取输入
        int num = in.nextInt();
        List<Integer> nums = new ArrayList<>();
        for (int i = 0; i < num; i++) {
            nums.add(in.nextInt());
        }

        boolean[] visited = new boolean[num]; // 标记是否已使用

        // 开始回溯
        huisu(0, nums, visited, new ArrayList<>());

        // 输出结果
        System.out.println(maxPairs); // 最大匹配对数
        System.out.println(bestPairs); // 对应的搭配
    }

    static void huisu(int index, List<Integer> nums, boolean[] visited, List<List<Integer>> currentPairs) {
        // 如果当前搭配数量超过最大值，更新最大值和最佳搭配
        if (currentPairs.size() > maxPairs) {
            maxPairs = currentPairs.size();
            bestPairs = new ArrayList<>(currentPairs); // 深拷贝当前搭配
        }

        // 尝试从当前索引开始配对
        for (int i = index; i < nums.size(); i++) {
            if (visited[i]) continue; // 跳过已使用的数字

            for (int j = i + 1; j < nums.size(); j++) {
                if (visited[j]) continue; // 跳过已使用的数字

                // 检查是否为素数伴侣
                if (sushu(nums.get(i) + nums.get(j))) {
                    // 标记 i 和 j 已使用
                    visited[i] = true;
                    visited[j] = true;

                    // 添加当前搭配
                    List<Integer> pair = new ArrayList<>();
                    pair.add(nums.get(i));
                    pair.add(nums.get(j));
                    currentPairs.add(pair);

                    // 继续搜索
                    huisu(i + 1, nums, visited, currentPairs);

                    // 回溯：撤销标记
                    visited[i] = false;
                    visited[j] = false;
                    currentPairs.remove(currentPairs.size() - 1); // 移除当前搭配
                }
            }
        }
    }

    static boolean sushu(int num) {
        if (num < 2) return false; // 小于 2 的数不是素数
        int sqrtNum = (int) Math.sqrt(num);
        for (int j = 2; j <= sqrtNum; j++) {
            if (num % j == 0) {
                return false;
            }
        }
        return true;
    }
}